package com.bh.order.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.bh.common.annotation.Excel;
import com.bh.common.core.domain.BhtmsBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 运单回单对象 jc_order_back
 *
 * @author slx
 * @date 2023-04-22
 */
@TableName("jc_order_back")
@Data
public class JcOrderBack extends BhtmsBaseEntity  implements Serializable {
    

    /**
     * 回单份数
     */
    @Excel(name = "回单份数")
    private Integer backNumber;

    /**
     * 回单时间
     */
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "回单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date backTime;

    /**
     * 回单方式
     */
    @Excel(name = "回单方式")
    private Integer backType;

    /**
     * 快递单号
     */
    @Excel(name = "快递单号")
    private String expressCode;

    /**
     * 快递名称
     */
    @Excel(name = "快递名称")
    private String expressName;

    /**
     * 是否接收
     */
    @Excel(name = "是否接收")
    private Integer isReceive;

    /**
     * 是否交单
     */
    @Excel(name = "是否交单")
    private Integer isSubmit;

    /**
     * 签收数量
     */
    @Excel(name = "签收数量")
    private Integer singNumber;

    /**
     * 签收时间
     */
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "签收时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date time;

    /**
     * 订单ID
     */
    @Excel(name = "订单ID")
    private Long jcOrderId;

    /**
     * 组织ID
     */
    @Excel(name = "组织ID")
    private Long jcOrganizationId;

    /**
     * 是否上传
     */
    @Excel(name = "是否上传")
    private Integer isUpload;

    /**
     * 回单图片
     */
    @TableField(exist = false)
    private List<JcOrderBackImages > backImages;


    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("createName", getCreateName())
                .append("createTime", getCreateTime())
                .append("description", getDescription())
                .append("modifyName", getModifyName())
                .append("modifyTime", getModifyTime())
                .append("name", getName())
                .append("status", getStatus())
                .append("backNumber", getBackNumber())
                .append("backTime", getBackTime())
                .append("backType", getBackType())
                .append("expressCode", getExpressCode())
                .append("expressName", getExpressName())
                .append("isReceive", getIsReceive())
                .append("isSubmit", getIsSubmit())
                .append("singNumber", getSingNumber())
                .append("time", getTime())
                .append("jcOrderId", getJcOrderId())
                .append("jcOrganizationId", getJcOrganizationId())
                .append("isUpload", getIsUpload())
                .toString();
    }
}
